home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1997 / MacHack 1997.toast / Hacks / Hacks ’96 / Audio dcmds / Audio CD dcmds.sit / Audio CD dcmds.π / Sample dcmd / dcmd.c < prev    next >
Text File  |  1994-08-30  |  1KB  |  69 lines

  1. /*****************************************************
  2.  
  3.     bin.c                    P. Stadelmann, June 1994
  4.     
  5.     Displays a long word in binary.
  6.  
  7.  *****************************************************/
  8.  
  9.  
  10. #include <SetUpA4.h>
  11. #include <Think_dcmd.h>
  12. #include <Think_put.h>
  13.  
  14. void DoHelp( void )
  15. {
  16.     PutPStr( "\pbin num");
  17.     PutLine();
  18.     PutPStr( "\p   Displays the value in num as a binary long.");
  19.     PutLine();
  20. }
  21.  
  22. void DoJob()
  23. {
  24.         long        value;
  25.         Boolean        ok;
  26.         Str255        myStr;
  27.         short        pos;
  28.     
  29.     if ( dcmdPeekAtNextChar() == '\r' )
  30.         PutPStr( "\pValue not found" );
  31.     else
  32.     {
  33.         pos = dcmdGetPosition();
  34.         dcmdGetNextExpression( &value, &ok );
  35.  
  36.         if (ok)
  37.         {
  38.             dcmdSetPosition( pos );
  39.             dcmdGetNextParameter( myStr );
  40.             PutPStr( myStr );
  41.             PutPStr( "\p = ");
  42.             PutBinary(value, 32);
  43.         }
  44.         else
  45.             PutPStr( "\pSyntax error");
  46.     }
  47.  
  48.     PutLine();
  49.  
  50. }
  51.  
  52. pascal void CommandEntry( dcmdBlock* paramPtr )
  53. {
  54.     RememberA0();
  55.     SetUpA4();    
  56.     
  57.     switch ( paramPtr->request )
  58.     {
  59.         case dcmdInit : break;
  60.         
  61.         case dcmdHelp : DoHelp();
  62.                         break;
  63.                         
  64.         case dcmdDoIt : DoJob();
  65.                         break;
  66.     }
  67.  
  68.     RestoreA4();
  69. }